【コマンドライン】ユーザー設定の変更 [ usermod ]
コマンドラインでユーザーの設定を変更するusermodコマンドについて解説します。
検証環境
usermodコマンド
usermodコマンドは“ユーザーの設定を変更するコマンド”です。
ユーザー名の変更やロック・アンロック、グループの変更が行えます。
基本書式
$ usermod [オプション] [ユーザー]
オプション
主なオプションは次の通りです。
| オプション | 内容 |
|---|---|
| -L | ユーザーをロック |
| -U | ユーザーのロックを解除 |
| -l 変更後名称 変更前名称 | ユーザー名を変更 |
| -d ホームディレクトリパス | ホームディレクトリを変更(現在のホームディレクトリを名称変更して使う場合は-mオプションを併用) |
| -m | 現在のホームディレクトリを移動(-dオプションと併用) |
| -g グループ | プライマリグループを変更 |
| -G グループ | セカンダリグループを変更(グループが複数ある場合はカンマ(,)で区切る)
※ 指定したグループで置き換わるため追加する場合は -aオプションを併用 |
| -a | -Gオプションと併用して使う。-Gオプションの動作を『置き換え』から『追加』に変更 |
引数
ユーザー
ユーザーは設定を変更するユーザーです。
サンプル
ユーザーのロック
ユーザーをロックすると、一般ユーザーからログインできなくなります。
___ih_hl_start
# usermod -L guest
___ih_hl_end
[hacker]$ su guest
パスワード:
su: 認証失敗
ユーザーのアンロック
ロックしたユーザーはアンロック(解除)することで、一般ユーザーからログインできるようになります。
___ih_hl_start
# usermod -U guest
___ih_hl_end
[hacker]$ su guest
パスワード:
[guest]$
ユーザー名とホームディレクトリの変更
ユーザー名とホームディレクトリ名は基本的に一致させます。
そのため、一方を変更する場合はもう一方も合わせて変更します。
# cat /etc/passwd
...省略...
guest:x:1001:1001::/home/guest:/bin/bash
___ih_hl_start
# usermod -l tester guest -d /home/tester -m
___ih_hl_end
# cat /etc/passwd
...省略...
tester:x:1001:1001::/home/tester:/bin/bash
プライマリグループの変更
# groups tester
tester : tester developers
___ih_hl_start
# usermod -g developers tester
___ih_hl_end
# groups tester
tester : developers tester
セカンダリグループの変更
# groups tester
tester : tester hackers
___ih_hl_start
# usermod -G developers tester
___ih_hl_end
# groups tester
tester : tester developers
セカンダリグループの追加
# groups tester
tester : tester hackers
___ih_hl_start
# usermod -aG developers tester
___ih_hl_end
# groups tester
tester : tester developers hackers
マニュアル
コマンドの仕様(主な処理やオプション・引数など)は環境により異なる場合がございます。
利用環境での仕様は『コマンドのマニュアルを表示する』manコマンド等で確認しましょう。